﻿/* ----------------------------------------------------------------------------
 * Copyright (c) Rob Ashton 2009
 *
 * This source code is subject to terms and conditions of the Microsoft Public 
 * License (Ms-PL).
 * 
 * By using this source code in any fashion, you are agreeing to be bound 
 * by the terms of the Microsoft Public License.
 * 
 * To request a copy of the Microsoft Public License, send a request by email
 * to license@mvcex.com
 *
 * This notice must not be removed from this software.
 * ---------------------------------------------------------------------------- */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace MvcEx.Configuration
{
    [XmlRoot("Module")]
    public class MvcExModule
    {
        /// <summary>
        /// Gets the unique identifier of this module (based on the directory structure)
        /// </summary>
        [XmlIgnore]
        public String Id
        {
            get;
            internal set;
        }

        [XmlAttribute("name")]
        public String Name
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or Sets the assemblies associated with this module
        /// </summary>
        [XmlArray("Assemblies")]
        [XmlArrayItem("Assembly")]
        public MvcExModuleAssembly[] Assemblies
        {
            get;
            set;
        }

        public MvcExModule()
        {
            this.Assemblies = new MvcExModuleAssembly[] { };
        }
    }
}
